import { defaultValue, getSchemaTpl, tipedLabel } from "amis-editor";
import { wrapperRender } from "../wrapperRender";

export default wrapperRender(({ render, tpl, inline, wrapperComponent }) => {
    return render('tpl', { type: 'tpl', tpl, inline, wrapperComponent });
}, {
    type: 'udp-tpl',
    name: '文字',
    icon: 'fa fa-file-o',
    pluginIcon: 'plain-plugin', // 使用文字 icon
    order: -200,
    description: '用来展示文字或者段落，支持模板语法可用来关联动态数据。',
    scaffold: {
        type: 'udp-tpl',
        tpl: '请编辑内容',
        inline: true,
        wrapperComponent: ''
    },
    group: '展示',
    panelBodyCreator(context: any) {
        return getSchemaTpl('tabs', getSchemaTpl('commonTpl', {
            scope: this,
            context,
            groups: [
                {
                    title: '基本属性',
                    body: [
                        getSchemaTpl('tpl:wrapperComponent'),
                        getSchemaTpl('switch', {
                            label: tipedLabel(
                                '内联模式',
                                '内联模式默认采用 <code>span</code> 标签包裹内容、非内联将默认采用 <code>div</code> 标签作为容器。'
                            ),
                            name: 'inline',
                            pipeIn: defaultValue(true),
                            hiddenOn: 'data.wrapperComponent !== ""'
                        }),
                        getSchemaTpl('tpl:content')
                    ],
                }
            ]
        }));
    },
});